package com.tjcd.project.library_base.common.upload.net.interf;

import io.reactivex.Observable;
import io.reactivex.Observer;

/**
 * @Author junweiliu
 * @Description 基础网络请求接口(rxjava)
 * @Version 1.0
 * @CreateDate 2019/12/24
 * @QQ 1007271386
 */
public interface IBaseNet extends IBaseCancel {

    /**
     * 设置被观察者
     *
     * @param observable 网络请求
     * @param <T>
     * @return
     */
    <T extends IBaseNet> T setObservable(Observable observable);

    /**
     * 请求观察
     *
     * @param observer 响应回调
     * @param <T>
     * @return
     */
    <T extends IBaseNet> T request(Observer observer);

}
